// UrlRewriter - A .NET URL Rewriter module
// Version 1.7
//
// Copyright 2006 Intelligencia
// Copyright 2006 Seth Yates
// 

using System;

namespace Intelligencia.UrlRewriter.Utilities
{
	/// <summary>
	/// Constants for the parser.
	/// </summary>
	internal sealed class Constants
	{
		private Constants()
		{
		}

		public static readonly string Messages = "Intelligencia.UrlRewriter.Messages";
		public static readonly string RewriterNode = "rewriter";
		public static readonly string RemoteAddressHeader = "REMOTE_ADDR";
		public static readonly string Localhost = "localhost";
		public static readonly string AttributeAction = "{0}-{1}";
		public static readonly string HeaderXPoweredBy = "X-Powered-By";

		public static readonly string AttrID = "id";
		public static readonly string AttrAction = "action";
		public static readonly string AttrExists = "exists";
		public static readonly string AttrFile = "file";
		public static readonly string AttrAddress = "address";
		public static readonly string AttrHeader = "header";
		public static readonly string AttrMethod = "method";
		public static readonly string AttrMatch = "match";
		public static readonly string AttrValue = "value";
		public static readonly string AttrProperty = "property";
		public static readonly string AttrStatus = "status";
		public static readonly string AttrCookie = "cookie";
		public static readonly string AttrRewrite = "rewrite";
		public static readonly string AttrRedirect = "redirect";
		public static readonly string AttrProcessing = "processing";
		public static readonly string AttrPermanent = "permanent";
		public static readonly string AttrValueContinue = "continue";
		public static readonly string AttrValueRestart = "restart";
		public static readonly string AttrValueStop = "stop";
		public static readonly string AttrFrom = "from";
		public static readonly string AttrName = "name";
		public static readonly string AttrTo = "to";
		public static readonly string AttrType = "type";
		public static readonly string AttrVerb = "verb";
		public static readonly string AttrCode = "code";
		public static readonly string AttrUrl = "url";
		public static readonly string AttrParser = "parser";
		public static readonly string AttrTransform = "transform";
		public static readonly string AttrLogger = "logger";

		public static readonly string ElementIf = "if";
		public static readonly string ElementIfNot = "ifnot";
		public static readonly string ElementAnd = "and";
		public static readonly string ElementAdd = "add";
		public static readonly string ElementSet = "set";
		public static readonly string ElementErrorHandler = "error-handler";
		public static readonly string ElementForbidden = "forbidden";
		public static readonly string ElementNotImplemented = "not-implemented";
		public static readonly string ElementNotAllowed = "not-allowed";
		public static readonly string ElementGone = "gone";
		public static readonly string ElementNotFound = "not-found";
		public static readonly string ElementRewrite = "rewrite";
		public static readonly string ElementRedirect = "redirect";
		public static readonly string ElementMap = "map";
		public static readonly string ElementMapping = "mapping";
		public static readonly string ElementDomain = "domain";
		public static readonly string ElementServer = "server";
		public static readonly string ElementVersion = "version";
		public static readonly string ElementRegister = "register";
		public static readonly string ElementExpires = "expires";

		public static readonly string TransformDecode = "decode";
		public static readonly string TransformEncode = "encode";
		public static readonly string TransformBase64 = "base64";
		public static readonly string TransformBase64Decode = "base64decode";
		public static readonly string TransformLower = "lower";
		public static readonly string TransformUpper = "upper";
	}
}
